package com.mccrea.pattern.singleton.type1;

/**
 * @Classname SingleTon01
 * @Description 单例模式 饿汉式（静态常量）测试
 * @Date 2021/5/7 0007 13:55
 * @Created by Mccrea_Gao
 */
public class SingleTonTest01 {

    public static void main(String[] args) {
        SingleTon01 instance = SingleTon01.getInstance();
        SingleTon01 instance1 = SingleTon01.getInstance();
        System.out.println(instance);
        System.out.println(instance1);
    }

}

/**
 * 单例模式 饿汉式（静态常量）
 * 1）构造器私有化，
 * 2）类的内部创建对象并且初始化，
 * 3）向外暴露一个静态的公共方法获取步骤2创建的对象。
 */
class SingleTon01 {
    // 构造器私有化
    private SingleTon01(){

    }
    // 内部创建一个对象
    private static final SingleTon01 INSTANCE = new SingleTon01();

    // 向外提供获取对象的方法
    public static SingleTon01 getInstance() {
        return INSTANCE;
    }
}
